Terminal services are components of an operating system (OS) (e.g., the MICROSOFT WINDOWS® OS available from Microsoft Corporation) that allow a user to take control of a remote computer or virtual machine over a network connection. For example, terminal services provide the ability to host multiple, simultaneous client sessions on WINDOWS® operating systems. Terminal services are capable of directly hosting compatible, multi-user client desktops running on a variety of WINDOWS®-based and non-WINDOWS®-based computers. Standard WINDOWS®-based applications generally do not need modification to run in terminal services. In this manner, corporations can take advantage of the choice of applications and tools offered by the OS environment. Organizations may use terminal services to deliver WINDOWS®-based applications to heterogeneous desktop environments, over local area network (LAN), wide area network (WAN), and dial-up connections. This is a cost-effective way to deploy applications that are frequently updated, hard to install, or need to be accessed over low-bandwidth connections.
When a terminal server session is launched via a browser, the terminal server session is launched after the user has authenticated to a central authentication service (CAS) system. For example, the terminal server session might launch to a computer that is situated inside of a network, thus requiring authentication or verification before allowing the user into the system. Once the terminal server session is established, if the user would like to utilize any services on the CAS, then authentication to that CAS must be performed again. Known solutions may include sharing data between two terminal sessions. However, such solutions require additional server code and still require a user to authenticate twice with the CAS system. Other known solutions may include passing the terminal server session information into the terminal server as an application parameter. Unfortunately, such a method may enable the terminal session information to easily be intercepted and utilized by someone other than the authenticated user.
Terminal server sessions require processing via a CAS and the computing devices and/or servers upon which they are executing. Some types of applications executing within the terminal server sessions may further add to the processing requirements of the underlying computing device (e.g., computers and/or servers). For example, applications that may have high data traffic requirements may include media rich content, audio/video streaming or applications that require drawings. These applications can be demanding on the CAS's resources due to the general computing processing requirements of such applications.
In view of the foregoing, there is a need for improved techniques for managing terminal server sessions.